package cn.tedu.person.mapper;

import cn.tedu.person.pojo.entity.Admin;
import cn.tedu.person.pojo.entity.Staff;
import cn.tedu.person.pojo.vo.AdminIndexVO;
import cn.tedu.person.pojo.vo.AdminStandardVO;
import cn.tedu.person.pojo.vo.StaffIndexVO;
import cn.tedu.person.pojo.vo.StaffStandardVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface StaffMapper {

    int insert(Staff staff);

    int deleteById(Long id);

    int update(Staff staff);

    int count();

    //用来判断是否有身份证号重复的
    int countByNumberId(String numberId);

    //身份证号不能重复
    int countByNumberIdAndNotId(@Param("id") Long id,
                                  @Param("numberId") String numberId);

    int countByLeaderId(Long leaderId);

    StaffStandardVO getStandardById(Long id);

    List<StaffIndexVO> list();

    /**
     * 根据领导类别查询其子级类别列表
     *
     * @param leaderId 领导类别的id
     * @return 类别列表
     */
    List<StaffStandardVO> listByLeaderId(Long leaderId);

}
